package ru.pb.game.configs;

import java.io.IOException;

import org.apache.log4j.Logger;

import ru.pb.global.configs.Config;
import ru.pb.global.utils.ExitCode;

/**
 * @author Felixx
 */
public class GameNetworkConfig
{
	private static final Logger _log = Logger.getLogger(GameNetworkConfig.class);

	private static final String FileName = "./configs/network.ini";

	/** Хост для приема подключений игроков. */
	public static String CLIENT_LISTENER_HOST;
	/** Порт приема подключения игроков. */
	public static int CLIENT_LISTENER_PORT;

	/** Хост для приема подключений игрового клиента. */
	public static String AUTH_SERVER_HOST;
	/** Порт приема подключения игрового клиента. */
	public static int AUTH_SERVER_PORT;

	public static void load()
	{
		try
		{
			Config conf = new Config(FileName);

			CLIENT_LISTENER_HOST = conf.getStringValue("listener", "ClienHost", "*");
			CLIENT_LISTENER_PORT = conf.getIntegerValue("listener", "ClienPort", 39191);

			AUTH_SERVER_HOST = conf.getStringValue("connection", "AuthServer", "127.0.0.1");
			AUTH_SERVER_PORT = conf.getIntegerValue("connection", "AuthPort", 9889);
		}
		catch(IOException e)
		{
			_log.error("Не возможно загрузить файлы конфигурации.", e);
			System.exit(ExitCode.CODE_ERROR.getId());
		}
		catch(Exception e)
		{
			_log.error("Ошибка доступа к файлу или директории.", e);
			System.exit(ExitCode.CODE_ERROR.getId());
		}
		finally
		{
			_log.info(FileName + " Успешно загружен.");
		}
	}
}